package com.turing.post.cardmanagement.util;

import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;

/**
 * 待制实体卡
 * 
 * @author YangShuo
 * 
 */

@Remote
@Local
public interface NonEntityCardDao {
	/**
	 * 按批次号查询所有该批次卡
	 * 
	 * @param Batchno
	 *            批次号
	 * @return NonEntityCard对象集合
	 */
	public List<NonEntityCard> getNonEntityCardListByBatchno(String Batchno);

	public NonEntityCard getNonEntityCardBycardseqno(String cardseqno);

	/**
	 * 按批次号,起止号段查询库存
	 * 
	 * @param Batchno
	 *            批次号
	 * @param startCardSeqno
	 *            起始序列号
	 * @param endCardSeqnoString
	 *            结束序列号
	 * @return NonEntityCard对象集合
	 */
	public List<NonEntityCard> getNonEntityCardListByBatchnoAndSeqno(
			String Batchno, String startCardSeqno, String endCardSeqnoString);

	public Integer getNonEntityCardCountByBatchnoAndSeqno(String Batchno,
			String startCardSeqno, String endCardSeqno);

	/**
	 * @按批次号,起止号段查询库存数量
	 * @param Batchno
	 *            批次号
	 * @param startCardSeqno
	 *            起始序列号
	 * @param endCardSeqnoString
	 *            结束序列号
	 * @return NonEntityCard对象集合
	 */
	public Integer getNonEntityCardListCountByBatchno(String Batchno,
			String startCardSeqno, String endCardSeqnoString);

	/**
	 * 按批次号,起止号段删除库存
	 * 
	 * @param Batchno
	 *            批次号
	 * @param startCardSeqno
	 *            起始序列号
	 * @param endCardSeqno
	 *            结束序列号
	 * @return 修改条数
	 */
	public Integer deleteNonEntityCardListByBatchnoAndSeqno(String Batchno,
			String startCardSeqno, String endCardSeqnoString);

	/**
	 * 新增卡
	 * 
	 * @param NonEntityCard
	 *            对象
	 */
	public void insertNonEntityCard(NonEntityCard NonEntityCard)
			throws PCPSApplicationException;

	/**
	 * 删除一个批次的卡
	 * 
	 * @param Batchno
	 *            批次号
	 * @return 修改条数
	 */
	public Integer deleteNonEntityCard(String Batchno)
			throws PCPSApplicationException;
}
